package systemMapper

import (
	"baize/app/business/system/systemModels"
	"context"
)

type IDictMapper interface {
	SelectDictDataList(ctx context.Context, dictType *systemModels.SysDictDataDQL) (list []*systemModels.SysDictData, total int64)
	SelectDictDataByType(ctx context.Context, dictType string) (list []*systemModels.SysDictData)
	SelectDictDataById(ctx context.Context, dictCode int64) (dictData *systemModels.SysDictData)
	InsertDictData(ctx context.Context, dictData *systemModels.SysDictData)
	UpdateDictData(ctx context.Context, dictData *systemModels.SysDictData)
	DeleteDictDataByIds(ctx context.Context, dictCodes []int64)
	CheckDictDataByTypes(ctx context.Context, dictType []string) bool
	SelectDictTypeList(ctx context.Context, dictType *systemModels.SysDictTypeDQL) (list []*systemModels.SysDictType, total int64)
	SelectDictTypeAll(ctx context.Context, dictType *systemModels.SysDictTypeDQL) (list []*systemModels.SysDictType)
	SelectDictTypeById(ctx context.Context, dictId int64) (dictType *systemModels.SysDictType)
	SelectDictTypesByIds(ctx context.Context, dictId []int64) (dictTypes []string)
	InsertDictType(ctx context.Context, dictType *systemModels.SysDictType)
	UpdateDictType(ctx context.Context, dictType *systemModels.SysDictType)
	DeleteDictTypeByIds(ctx context.Context, dictIds []int64)
	CheckDictTypeUnique(ctx context.Context, dictType string) int64
}
